home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
doors_2
/
shmpg355.zip
/
SHAMPAGE.DOC
< prev
next >
Wrap
Text File
|
1992-12-11
|
18KB
|
356 lines
This program compliments of: ╓┴╖ ╓┴╖
/ ║ ║ ║ ║ \
╤╕ ╤╕ ╕ ╤╕╤╕╒╕ ┌─┬║┬║┬─┬─┬─┬─┬─┬║┬║┬─┐
││ ││ │ │││││ ▀▀▀▀║▀║▀▀▀▀▀▀▀▀▀▀▀║▀║▀▀▀▀
││ ╤╕ ╒╕ ╕ ╒ ╞╡ ╤╕ ╕ ╒╡ ╒╤ ╤╕ ╞╡╞╡╘╕ ╨ ╨ ╨ ╨
││ │ ╒╡ │││ ││ │ │ ││ ││ ╞╛ ││││ │ FIDO 1:369/2
╧╛ ╧ ╘╧ ╘╧╛ ╧╛ ╧ ╘ ╘╧ ╘╡ ╘╛ ╧╛╧╛╘╛ EchoNet 50:5305/2
│ OurNet 65:613/2
Fort Lauderdale, FL ╘╛ WDNet 3090.00
(305) 523-1717 *HST/DS*
SHAMpage v3.55
(C) 1992 by Rich Waugh
Do you ALWAYS answer the page bell, even at 3am? If so, you must be a new
SysOp - SHAMpage is not for you. If, on the other hand, you do occasionally
disable the page function, you might enjoy this fun little door. It allows
the caller to have a nice (or not-so-nice... it's totally up to you) chat
with the SysOp - even when the SysOp is not around!
SHAMpage is similar to other "A.I." programs with which you may already be
familiar, such as ELIZA or CHERI. But there is a bit more to SHAMpage than
those programs. SHAMpage contains a routine to randomly vary the speed at
which each letter is "typed", automatic "typo & correction" routine to make
the program more believable, and SysOp-defined variables, as well as many
sophisticated built-in communication I/O routines. All the delays are
calculated, so the typing rate initially will vary on different machines,
depending on the speed of the CPU, but they were written in a manner which
allows you to configure the program to type at realistic speeds on virtually
any machine (see line 8 of the sample configuration file below).
While "chatting", SHAMpage checks the caller's entry, each time he hits the
[ENTER] key, for up to 100 "key" words (and up to five synonyms per key word)
which you have previously defined. If the caller's entry contains a string
matching any one of those words, an appropriate response (or even the
contents of an entire text file) is returned. Otherwise a random response -
again, your choice, is sent. All responses go through a typing routine which
varies the speed at which each letter is typed and even makes (and sub-
sequently corrects) an occasional "typo". The key words and related replies
are contained in plain-vanilla ASCii data files which you are free to modify
to suit your needs. The enclosed samples are well commented and should be
self-explanatory. Do not be offended by the key words or replies, some of
which are rather rude - please notice that the really nasty replies are sent
only in response to a really nasty key word the caller has entered of his own
volition.
The following variables are available in your key word replies:
*USER* - this will be replaced by the caller's first name.
*PASSWORD* - replaced by caller's password.
*PHONE* - replaced by caller's phone number.
*SECURITY* - replaced by security level.
*TIMEENTERED* - replaced by time the caller entered SHAMpage.
*TIME* - replaced by the current time (in 12-hour format).
*KEYWORD* - replaced by the word SHAMpage matched. This variable
comes in several flavors. If it is all upper case, like
the example on the left, the variable itself will be
typed in all CAPS. *keyword* will be replaced by the
variable in all lower case letters, and *Keyword* Will
Have The First Letter Only Capitalized. Please see
What's.New for further details.
*TIMEOFDAY* - replaced by "morning", "afternoon" or "evening"
depending on the actual time of day. The capitalization
conventions of *KEYWORD* apply.
*FILE* [FileName] - this tells SHAMpage to type the contents of the
file [FileName].
*LF* - wherever this occurs the line will be split, a line-feed
sent, and the rest of the response typed on the
following line.
*ALIAS* - identifies a synonym for a key word.
┌───────────────────────────────────────────────────────┐
│ ADDITIONAL VARIABLES AVAILABLE ONLY IF USING DOOR.SYS │
└───────────────────────────────────────────────────────┘
The variables above work whether you are using DORINFOx.DEF or DOOR.SYS as
your drop file. The following variables work ONLY if you use DOOR.SYS:
*BIRTHDATE* - Caller's date of birth (00/00/00).
*DOWNLOADS* - Caller's total downloads from your board.
*LASTCALLED* - Date the caller last called.
*TIMESON* - Number of times the caller has called your board.
*UPLOADS* - Caller's total uploads to your board.
All variables are enclosed in asterisks (*) and are always UPPER CASE (except
*KEYWORD* and *TIMEOFDAY*, as noted above).
SHAMpage was originally conceived as a fun, humorous door and the included
data file (the one I use) reflects that - it works great with 13 year-old's
at two in the morning! However, since I released SHAMpage to the public, many
SysOps have told me, to my surprise, that it is the perfect program to answer
callers' questions in a quite serious and/or informative manner whenever the
SysOp really isn't available (a use which, I must admit, never even crossed
my mind when I began writing the code). If that is your intention also,
simply edit SHAMpage.Dat. Hobby-oriented SysOps with a sense of humor as sick
as mine can use the enclosed SHAMpage.Dat with few changes; if you intend to
run SHAMpage on a business-type BBS, it will need a LOT of editing! How you
use SHAMpage is up to you.
┌──────────────────────────────────────────────────────────────────────────┐
│ CAUTION! When you modify the data file, please remember that each KEY │
│ WORD, including NOMATCH, is limited to a maximum of ten (10) replies. │
│ Also, be absolutely certain you match the format of the example file. │
│ Any variation will result in unpredictable and undesirable results. I │
│ strongly recommend you run the included MAINTAIN utility every time │
│ you edit your data file. MAINTAIN will check your data file for │
│ grievous errors and, while it will catch some obvious errors in the │
│ file, it is NOT intended as a replacement for your own care in editing! │
└──────────────────────────────────────────────────────────────────────────┘
SHAMpage runs on any BBS capable of generating a standard DorinfoX.Def or
Door.Sys drop file. It is, in fact, currently running on Maximus, PCBoard,
QuickBBS, Remote Access, Searchlight, Spitfire, Virtual BBS, and WildCat!
boards that I am aware of. Features include DOS shelling, various timer
functions (caller's time left, input-timer whenever remote input is expected,
SysOp hot-keys to increase or decrease caller's time), carrier detection,
FOSSIL support, non-standard IRQ support, CTS checking and more. You can
check the caller's stats while the door is in operation. SHAMpage writes a
log just in case you really WEREN'T around when you had that little chat with
a caller <grin> as well as a separate file which logs errors, should they
occur.
Perhaps most importantly, SHAMpage does include a page bell to notify you
when you're being paged and you actually CAN pick up the page and chat with
the caller while he is in the door. One of the benefits you will discover is
that SHAMpage allows you to "screen" pages in much the same manner as people
who own telephone answering machines often decide whether or not to pick up
the phone only after hearing not only who is on the other end but also what
he wants. Information about the caller appears at the bottom of the local
screen: name, location, connect rate and (if using Door.Sys) age. If you
choose not to chat with the caller, let SHAMpage do it! If you do want to
chat, you can take live control at any time, transparently to the caller, by
hitting [F7]. When you're finished, press [F8] and SHAMpage will resume the
chat or press [F10] to return the caller to the BBS. The local screen (only)
indicates whenever the chat is live. The caller is not charged for time while
in live chat, so you will not be rudely interrupted in the middle of a live
conversation by SHAMpage logging him off!
When the caller exits the door by typing G, Q, X, EXIT, BYE, QUIT or two
consecutive empty lines (SHAMpage also terminates whenever it runs out of
responses to any particular key word, including NOMATCH, as well as when the
caller's time limit expires), he receives an, up to four line, exit message
which explains the SysOp was unavailable and he was actually chatting with
the computer (or whatever you choose to say). If he exits by dropping carrier
- some people have NO sense of humor - he might not get that message <grin>,
but the door notes the dropped carrier in the log and exits gracefully
anyway.
──────────────────────────────────────
Here's what's required to implement SHAMpage on your board:
Make a separate directory where you will run SHAMpage. Unzip all the files in
the archive into this directory. Next, you must modify SHAMpage.Cfg to
reflect the correct information for your board (see below). You will also
want to edit SHAMpage.Dat (and Midnite.Dat, if you plan to use it) to replace
occurrences of my name with yours and personalize some of the opening lines,
key words and/or responses, etc.
┌──────────────────────────────────────────────────────────────────┐
│ IMPORTANT: Read What's.New to see various other configuration │
│ and command-line options not documented here. This documentation │
│ DOES NOT include all the current features of SHAMpage. │
└──────────────────────────────────────────────────────────────────┘
EXAMPLE SHAMpage.Cfg
DrawBridge BBS <── The name of your BBS.
RICH <── SysOp's first name.
WAUGH <── SysOp's last name.
C:\Wc30\Wcwork\Node1\Door.Sys <── Path to & name of Door.Sys (DorinfoX.Def).
Split <── Split-screen chat mode (or Full).
SHAMpage.Dat <─────────────────┐ NOTE: Since remote cursor position is
SHAMpage.Log <───────────────┐ │ generated by ANSI code, if the caller has
1 <────────────────────────┐ │ │ his graphics setting turned off, SHAMpage
1 <──────────────────────┐ │ │ │ will default to full-screen chat, not
23:00 <─ Time to turn │ │ │ │ split-screen. This is not a bug. It is
08:00 <┐ Page Bell OFF │ │ │ │ intended to run this way.
│ │ │ │ └─ Name of the Key Word Data File.
└ Time to turn │ │ └─── Name of the Log File to write.
Page Bell ON │ └───── Delay factor - increase this number
│ to slow down the typing speed, decrease
NOTE: │ it to speed up the typing. For example,
The last two lines │ making this factor .5 will increase the
must be entered in │ typing speed 100%, making it 2 will slow
military-style 24:00 │ it down 100%. Experiment with different
format. │ values until you get a realistic typing
│ speed for your machine. For your
│ information, SHAMpage was written and
│ tested on a 386/25DX machine and types
│ just about right with this factor set at
│ one (1). (Remember, it's SUPPOSED to
│ emulate a real person typing - at realistic
│ human speeds.)
└─────── An integer specifying the type of
handshake you wish to use between the CPU
and modem. Valid numbers are:
0 = NO handshake
1 = XON/XOFF
2 = CTS/RTS
3 = XON/XOFF and CTS/RTS
If you don't know what to put here, make
it 0 or 1. CTS/RTS is for high-speed
modems.
──────────────────────────────────────
Optional command-line switches:
FOSSIL - Enable FOSSIL support. If you do not use a FOSSIL driver (such as
X00 or BNU) do not use this switch. See What's.New for more
information.
FULL - Force SHAMpage into full-screen mode regardless of the user's
graphics settings.
IRQ=x - Change the default IRQ to "x". See What's.New.
LOCAL - Run SHAMpage in local mode, from the command line.
SPLIT - Force SHAMpage into split-screen mode.
TIME=x - Limits the caller to x% of his time-left in the door.
──────────────────────────────────────
SHAMpage is run with the following syntax: SHAMpage SHAMpage.Cfg
EXAMPLE MainX.Bat (or DoorX.Bat):
@Echo Off
Echo * Paged sysop (SHAMpage) >> C:\Wc30\Activity.001
Cd \Doors\SHAMpage
SHAMpage SHAMpage.Cfg Fossil Time=80
For a quick demonstration, SHAMpage can be run from the command line by
typing: SHAMpage SHAMpage.Cfg Local
──────────────────────────────────────
This documentation is not intended to be a tutorial on door setup. If you've
never set up a door before, please refer to your BBS documentation.
WILDCAT! SYSOPS: The example batch file will work only if you have WildCat!
set to SHELL to doors (refer to your in the WildCat! manual - it's on page
221 in mine).
┌─────────────────────────────────────────────────────────────────────────┐
│ OPTIONAL hints for WildCat! SysOps │
├─────────────────────────────────────────────────────────────────────────┤
│ To make the caller believe he is really chatting with the SysOp, run │
│ MAKEWILD. From the Main Menu Definition page, change the "Page the │
│ SysOp" key to some letter other than P and assign it an access level of │
│ 1001 or higher, so nobody has access to it. Next, assign DOS Hook 1 or │
│ DOS Hook 2 to key P. Then set up SHAMpage in MAINx.BAT. If you REALLY │
│ want to fool the caller, run MKWCTEXT and change the "Preparing system │
│ to run a door" prompt to "" (nothing). │
└─────────────────────────────────────────────────────────────────────────┘
FILES INCLUDED WITH SHAMpage
READ.ME! - IMPORTANT!!! Update information!!!
SHAMPAGE.CFG - Example configuration file.
SHAMPAGE.DAT - ASCii data file containing KEY WORDS and responses.
MIDNITE.DAT - Alternative Data file for night-time use.
SHAMPAGE.DOC - The file you're reading now.
SHAMPAGE.EXE - The door itself.
SHAMPAGE.LOG - A typical excerpt from my SHAMpage.Log.
MAINTAIN.DOC - Instructions for the SHAMpage.Dat maintenance utility.
MAINTAIN.EXE - SHAMpage.Dat maintenance utility.
MAIN1.BAT - Example batch file to invoke SHAMpage.
SENDIT.ASC - Example *FILE*.
WHAT'S.NEW - Documentation of changes from release to release.
DESC.SDI - Short program description.
FILE_ID.DIZ - Longer program description.
──────────────────────────────────────
SHAMpage is distributed as NoBitchWare. I'm not charging anything for it, so
you are NOT entitled to bitch about it.
I, for one, am sick and tired of people who solicit money for the dumb little
doors/utilities we all find so indispensable, so this one's a freebie. It is
fully functional and contains no time bombs. I will attempt to keep the
latest version always available for FREQ with the magic name SHAMpage.
Significant updates are also hatched out into DDSDOORS, TDS and the WDNet
(WCDOOR) as well as uploaded to the Cathouse.
If you find SHAMpage handy, give the DrawBridge a call and thank me. Better
yet, send me your own customized SHAMpage.Dat file. I would appreciate
anyone's "serious" data file. If it's good enough, I'll include it in future
releases, with full credit to the author.
If you hate SHAMpage or don't think you got your money's worth, call the
DrawBridge and page me... we'll discuss it. <grin>
Rich Waugh
──────────────────────────────────────
FREE WildCat! 3.x doors/utilities from the DrawBridge
BobCheck - Automatically send each new caller a personal "Welcome" message
after they pass BobCat verification. Requires BobCat and Postmstr.
CheckSec - Restrict access to any door or DOS hook based on the caller's AGE
or security level.
ChngMenu - Force callers to a new default WildCat! menu upon return from a
door.
CodeSet - Reset users in Master Decoder door when they reach the end of the
data file.
MailChek - Check if last caller left any messages. (Don't bother with
WildMail SCAN if not.)
MailDoor - Run more than one mail door from the WildCat! Mail Hook.
Notify - Run prior to or after a door to send the caller a special message.
PieSet - Reset Piesplat door players automatically when somebody wins the
game.
QwkQuote - OLX compatible reply quote maker.
TickFix - Change the file name extension in *.TIC's from LZH or ARJ to ZIP.
For those who convert LZH & ARJ files to ZIP before tossing.
SHAMpage - Answer ALL SysOp pages - whether you're around or not.
ScrbNtfy - Notify players it is their move in one or more Scrabble door games
via a personal message addressed to them. Requires Postmstr.